package com.ct.ecommerce.idgen.core;

/**
 * @author changtong
 * @date 2021-50-20
 */
public interface SnowflakeHolder {

    /**
     * holder初始化方法，执行init()成功，返回true之后才能调用getWorkerID获取workID
     * @return
     */
    boolean init();

    /**
     * 获取workId
     * @return
     */
    int getWorkerId();

    /**
     * 当使用的WorkIdMode是RRECYCLABLE时，并且与zookeeper失去连接时间过长时，应该停止生成id并抛出异常
     * @return
     */
    boolean getShouldGenerateContinue();

}